package main

import (
	"encoding/json"
	"image/color"
	"log"
	"os"
)

// 定义
type Config struct {
	ScreenWidth    int        `json:"screenWidth"`
	ScreenHeight   int        `json:"screenHeight"`
	Title          string     `json:"title"`
	BgColor        color.RGBA `json:"bgColor"`
	ShipSpeed      float64    `json:"shipSpeed"`
	BulletWidth    int        `json:"bulletWidth"`
	BulletHeight   int        `json:"bulletHeight"`
	BulletSpeed    float64    `json:"bullSpeedFactor"`
	BulletColor    color.RGBA `json:"bulletColor"`
	BulletInterval int64      `json:"bulletInterval"`
	AlienSpeed     float64    `json:"alienSpeed"`
}

// 默认配置
func LoadConfig() *Config {
	// 加载文件
	f, err := os.Open("gameDemo/config.json")
	if err != nil {
		log.Fatal(err)
	}
	defer f.Close()
	// 创建Config
	var cfg Config
	// 解压
	err = json.NewDecoder(f).Decode(&cfg)
	if err != nil {
		log.Fatal(err)
	}
	// 穿出
	return &cfg
}
